[실기] (PART 9) 소프트웨어 개발 보안 구축

NOTE

정보처리기사 실기 PART 9 — 보안 3대 요소(기밀성·무결성·가용성)와 시큐어 코딩 등 소프트웨어 개발 보안 핵심 정리.

📌 개념

  • 소프트웨어 개발 보안 3대 요소
    • 기밀성 : 자원 접근
    • 무결성 : 수정
    • 가용성 : 자원 지속 사용
  • SW 개발 보안 용어
    • 자산 : 대상
    • 위협 : 악영향 끼치는 사건 행위
    • 취약점 : 위협이 발생하기위한 사전 조건
    • 위험 : 자산 손실 피해를 가져올 가능성
  • DOS 공격
    • SYN 플러딩 : SYN 패킷 계속 보냄
    • UDP 플러딩 : UDP 패킷 계속 보냄
    • 스머프, 스머핑 : ICMP 브로드캐스트 (출발지 주소→ 대상 IP)
    • 죽음의 핑 : ICMP패킷 크게 만듬
    • 랜드어택 : 출발지ip, 목적지ip 같게 해서 보냄
    • 티어드롭 : IP 패킷 재조합 문제 유도
    • 봉크(순서번호 1), 보잉크 (1번,100번,2002번,…)
  • DDOS 공격
    • 핸들러 : 마스터 시스템의 역할을 수행
    • 에이전트 : 공격 대상에 직접 공격
    • 마스터 : 공격자에게 직접 명령을 받음
    • 공격자 : 해커 컴퓨터
    • 데몬 프로그램 : 에이전트 시스템의 역할을 수행하는 프로그램
  • DDOS 공격 도구
    • TRINO : UDP flood 서비스 거부 공격 유발
    • Tribe Flood Network : UDP, SYN, ICMP 등 수행 가능
    • Stacheldraht : Linux, Solaris 시스템용 멀웨어 도구
  • DDOS 공격 종류
    • HTTP/TCP/UDP/ICMP Traffic Flooding
    • IP Flooding
    • HTTP Header / Option Spoofing
  • 세션 하이재킹 : 케빈 미트닉, 세션 관리 취약
  • DRDoS : 반사서버
  • 애플리케이션 공격
    • HTTP GET 플러딩 : Cache Control Attack 공격
    • Slowloris : 개행 문자열 전송 x
    • RUDY Attack : Cotent-Length를 크게 설정
    • Slow Read Attack : TCP 윈도 크기 낮게 설정
    • Hulk DOS : URL 지속적 변경 GET 요청
  • 네트워크 공격
    • 스니핑 : 수동적 공격
    • 네트워크 스캐너 : 탐색 도구
    • 패스워드 크래킹 : 사전, 무차별, 패스워드 하이브리드, 레인보우 테이블 공격 (해시값 → 패스워드 찾기)
    • IP 스푸핑 : IP 위조하여 인증된 컴퓨터 시스템인것처럼 속임
    • ARP 스푸핑 : MAC주소를 위조
    • ICMP Redirect : 라우터라고 알림으로써 패킷흐름 변경
    • 트로이목마 : 악성 루틴이 숨어있는 프로그램
  • 시스템 보안 위협
    • 버퍼 오버플로우 공격
      • 스택버퍼오버플로우 : 스택 영역에서 오버플로
      • 힙 버퍼오버플로우 : 동적 할당되는 힙에서 오버플로
    • 버퍼 오버플로우 공격 대응방안
      • 스택가드 활용 : 카나리 불리는 무결성 체크용 값 이용
      • 스택 쉴드 활용 : 복귀주소를 따로 저장 후 스택 값과 비교
      • ASLR : 주소공간 배치 난수화
      • 안전한 함수 활용
    • 백도어
    • 주요 시스템 공격 기법
      • 포맷 스트링 공격 : printf(argv[1]) 등 사용
      • 레이스 컨디션 공격 : 공유자원 동시 접근
      • 키로거 공격 : 키보드 움직임 탐지
      • 루트킷 : 불법적 해킹에 사용되는 기능을 제공, 프로그램의 모음
  • 보안 관련 용어
    • 스피어 피싱 : 이메일 발송
    • 스미싱 : SMS 이용
    • 큐싱 : QR
    • 봇넷 : 악성 프로그램 감염된 컴퓨터 네트워크로 연결
    • APT 공격 : 지속적 지능적 맞춤형 공격기법
    • 공급망 공격 : 개발사의 네트워크 침투
    • 제로데이 공격 : 보안 취약점 업데이트 전에 악용
    • 웜 : 스스로 복제
    • 악성 봇 : 해커의 명령에 의해 원격 제어
    • 사이버 킬체인 : APT 공격 방어 분산석모델
    • 랜섬웨어 : 파일들 암호화
    • 이블 트윈 : 무선 WIfi 피싱 기법 , 핫스팟 연결 사용자 정보 탈취
    • 사회공학
    • 트러스트존 : 보안 구역 따로 둠
    • 타이포스쿼팅 : 유사한 유명 도메인 미리 등록
  • 인증 기술 유형
    • 지식기반 인증 : PASSWORD
    • 소지기반 인증 : 공인인증서
    • 생체기반 인증 : 홍채
    • 특정기반 인증 : 서명, 발걸음
  • 서버 접근 통제
    • 접근통제 용어
      • 주체, 객체, 접근
    • 서버 접근 통제 유형
      • DAC (임의적 접근통제) : 주체나 그룹의 신분에 근거
      • MAC (강제적 접근통제) : 접근 정보에 대하여 주체가 갖는 접근 허가 권한
      • RBAC (역할 기반 접근 통제) : 역할에 기초
    • 3A
      • 인증 (Authentication) : 신분 검증, 식별
      • 권한부여 (Authorization) : 권한과 서비스 허용
      • 계정 관리(Accounting) : 리소스 사용에 대한 정보 수집 및 관리
  • 접근 통제 보호 모델
    • 벨-라파듈라 모델 (BLP) : 기밀성 강조, 미 국방부 지원 보안 모델
      • 비바 모델 : 벨- 라파듈라 모델 보완한 무결성도 보장
  • 암호화
    • 일방향 암호 방식 (해시 암호 방식)
      • MAC : 키를 사용하는 메시지 인증코드
      • MDC : 키를 사용하지 않는 변경 감지 코드
    • 대칭키 암호화
      • DES : 16라운드 암호화, 블록크기는 64비트, 키길이는 56비트
      • SEE : 16라운드를 거쳐 128비트 암호문 블록으로 암호화
      • AES : DES 보안, 128비트 블록크기, 10/12/14 라운드로 분류
      • ARIA : XOR과 같은 단순한 바이트단위 연산 구성 (블록크기 128비트)
      • IDEA : DES 대체, 128비트 키를 이용하여 64비트 평문을 8라운드에 거쳐 암호문 만듬
      • LFSR : 이전 상태 값들의 선형 함수로 계산되는 구조
      • Skipjack : 전화기와 같이 음성 암호화
    • 비대칭키 암호화 알고리즘
      • 디피 헬만 : 최초의 공개키
      • RSA : MIT 수학 교수, 소인수 분해 사용
      • ECC : PKI 기반의 RSA의 문제점 해결 (체크 다시 확인)
      • EIGamal : RSA와 유사 (체크 다시 확인)
    • 해시 암호화 알고리즘
      • MD5 : MD4 개선
      • SHA-1 : 160비트 해시값
      • SHA-256/384/512
      • HAS-160 : MD5, SHA1 장점 취하여 개발
      • HAVAL : 메시지를 1024비트 블록으로 나눔
  • 암호화 전송
    • IPSEC : 3계층, 인증헤더(AH)와 기밀성 보장 암호화(ESP) 이용
    • SSL/TLS : 4계층과 7계층 사이에서 암호화
      • SSL : NETscape사가 개발
      • 특정 암호기술에 의존x
    • S-HTTP
      • 서버-클라이언트 전송되는 모든메세지 암호화 전송

  • 입력 데이터 검증 및 표현 취약점
    • XSS : 웹페이지를 열람함으로써 부적절한 스크립트가 실행
      • 종류
        • STORED XSS : 저장된 스크립트를 열 경우 공격하게 됨
        • REFLACTED XSS : 이메일 전송 URL클릭시 반사서버처럼 이용당하게됨
        • DOM XSS : DOM 기반 이메일전송
    • CSRF : 사용자 의지와는 무관하게 공격자가 의도한 행위를 함
    • SQL삽입 : 악의적인 SQL구문을 삽입
  • 네트워크 보안 솔루션
    • 방화벽 : 기업 내부, 외부 간 트래픽 모니터링 및 차단
    • 웹 방화벽 (WAF) : 웹 공격 탐지
    • 네트워크 접근 제어 (NAC) : 단말기가 내부 네트워크 접속 시도시
    • 침입탐지시스템(IDS)
    • 침입방지시스템(IPS)
    • 무선침입방지시스템 (WIPS)
    • 통합 보안시스템(UTM)
    • 가상사설망(VPN) : 터널링 기술 (전용망)
    • SIEM : 로그 분석을 통한 보안 위협 징후 파악
    • ESM : 로그를 통합해서 분석 (통합 관리 솔루션)
  • 시스템 보안 솔루션
    • 스팸차단솔루션 : 메일서버 앞단에 위치하여 프록시메일서버
    • 보안운영체제
  • 콘텐츠 유출 방지 솔루션
    • 보안USB
    • DLP (데이터 유출방지)
    • DRM (디지털 저작권 관리)
  • 소프트웨어 개발 보안 테스트의 유형
    • 정적 분석 : SW 실행하지 않고 보안 약점 분석
    • 동적 분석 : SW 실행환경에서 보안 약점 분석
  • 비즈니스 연속성 계획 (BCP)
    • 재해, 장애, 재난으로부터 위기관리 (비즈니스 연속성)
  • 비즈니스 연속성 계획 관련 주요 용어
    • BIA : 장애나 재해로 인한 손실이 발생했다 가정하고, 영향도 및 손실 평가 조사
    • RTO : 업무중단 ~ 업부 복구되어 다시 가동 될때까지의 시간
    • RPO : 중단 되었다 복구될 때 데이터의 손실 허용 시점
    • DRP : 재해로 인한 장기간 운영 불가능할경우 대비한 재난 복구 계획
    • DRS : 재해복구 계획을 원활히 지원하기 위해 평상시에 확보하여 지속적인 관리체계가 통합된 재해복구센터
      • DRS 유형
        • Mirror 사이트 : 실시간 동기 사이트
        • Hot 사이트 : 4시간 이내 복구
        • Warm 사이트 : 수일, 수주 복구기간, 중요 자원만 부분적 보유
        • Cold 사이트 : 테이터만 원격지 보관 , 수주 ~ 수개월
  • 보안용어
    • 부채널 공격 : 내부 비빌 정보를 부 채널에서 획득
    • 드라이브 바이 다운로드 : 악성 스크립트 설치, 사용자 접속시 동의없이 실행됨
    • 워터링 홀 : 잘 방문하는 웹사이트에 악성코드를 심음
    • 비즈니스 스캠 : 기업 이메일 계정 도용하여 거래 대금 가로챔
    • 하트 블리드 : OPENSSL 암호화 라이브러리의 하트비트 모듈에서 데이터 길이에 대한 검증을 수행하지 않는 취약점 이용
    • 크라임 웨어 : 금융정보 탈취
    • 토르 네트워크 : 익명으로 인터넷 사용
    • MITM 공격 : 네트워크 통신 내용 도청 및 조작
    • DNS 스푸핑 공격 : DNS응답을 조작 및 DNS 캐시정보 조작
    • 포트 스캐닝
    • 디렉토리 리스팅 취약점 : 인덱싱 기능이 활성화 되있을 경우, 서버 내의 디렉토리 및 파일 목록 확인 가능
    • 리버스 쉘 공격 : 클라이언트가 타깃 서버의 쉘 획득
    • 익스플로잇 : 취약점을 이용하여 공격자가 의도한 동작이나 명령을 실행
    • 스턱스넷 공격 : 산업기반시설의 제어 시스템에 침투
    • 크리덴셜 스터핑 : 사용자 계정 탈취 → 다른곳에서 유출된 아이디/패스워드
  • 보안 공격 대응 관련 용어
    • 허니팟 : 해커에게 일부러 노출하여 유인
    • OWASP : 10가지 취약점
    • 핑거프린팅 : 콘텐츠 에 저작권정보와 구매한 사용자 정보 삽입
    • 워터마킹
    • 이상금융거래탐지시스템 : 의심거래, 이상 거래 차단
    • CC : 보안 기능 과 보증에 대한 평가
    • 사이버 위협정보 분석 공유 시스템
    • 장착형 인증 모듈 : 인증용 라이브러리
    • CVE : MITRE에서 발표한 보안취약점 식별자 목록
    • CWE : MITRE가 발표한 소스 코드 취약점 정의한 데이터베이스
    • ISMS : 조직의 정보보호 관리 절차와 과정을 체계적 수립
    • PIMS : 개인정보보호 활동을 구축했는지 점검, 평가하여 기업에게 부여
    • PIA : 개인정보 취급이 수반되는 정보시스템 중대한 변경시 개인정보에 미치는 영향에 사전에 조사하여 미리 개선방안을 도출하는 절차
    • TKIP : 임시 키 무결성 프로토콜 ( WIFI 에서 사용되었던 WEP암호화 표준을 대체)